Process for Distributed Production and Peer-To-Peer Consolidation of Subjective Ratings Across Ad-Hoc Networks

ABSTRACT

A rating program on a mobile computing device communicates with other mobile devices regarding collected ratings. A user enters ratings and requests for information; the mobile computing device will then operate in the background, actively scanning for other users with the same type of short-range communications and a ratings program. The devices are able to exchange and save ratings, providing a mobile, socially-relevant means of collecting information.

BACKGROUND OF THE INVENTION

1. Technical Field

This application relates generally to the dissemination of subjectiveinformation, i.e., opinions or ratings of products or services. Morespecifically this application relates to a means by which a user cancollect subjective opinions from persons perceived to be peers who arelocated within a given distance of the user.

2. Description of Related Art

In our largely urban, mobile culture, people encounter a huge amount ofinformation about the many choices they can make—books, movies,restaurants, museums, people to date—often without a means of filteringthis information with regard to their own preferences. Sometimes vendorsoffering products or services attempt to meet this need by providing areview system. For example, an online book vendor allows users to rateand give comments about books they have read. The separate, individualreviews are then aggregated to provide an average response, giving apotential user an idea of whether or not they might wish to purchase thebook. This review system is kept in a centralized location by the vendorand is available to anyone who wants to rate the book. Additionally, thevendor can make suggestions about books a user may be interested in.These suggestions generally rely on either the users previous history(what they look at, what they purchase) and/or on the history of otherusers who have purchased similar books. Of course, books are only asingle item; this type of rating service can also be used with any othertype of merchandise or service.

However, these rating systems are not able to offer a more personalizedapproach because of their centralized nature. For example, it is wellknow that not everyone's tastes are the same. Most people are much morelikely to utilize the opinion of someone whose tastes are similar totheir own, rather than someone who is perceived as having very differenttastes. For example, the people one encounters at a favorite restaurantwould probably be better suited to recommend other good restaurants thanthe general populace would, especially if the fellow customers also ratethe favorite restaurant highly. In a similar vein, people who dislike amovie that one disliked may be able to warn you away from other moviesof a like type.

Thus, it would be desirable to have a method and device by which ratingscan be requested among ad-hoc groups of people to provide a morereliable, personalized rating system.

SUMMARY OF THE INVENTION

A rating program is installed on a variety of mobile computing devices,such as personal digital assistants (PDAs), laptop computers, mobiletelephones, etc. that contain a short-range transmission device, such asBluetooth or WiFi. The rating program contains a number of categories,such as movies, restaurants, books, museums, people, etc. User A canenter ratings for items in these categories, which are then stored onthe mobile computing device. User A can also enter requests for ratingsabout items or categories that the user is unfamiliar with. The mobilecomputing device will then operate in the background, actively scanningfor other users who share the same type of short-range communicationdevice. When User A encounters User B, who also utilizes the ratingprogram, their devices are able to communicate with each other regardingratings. The users can each designate a policy that determines theconditions under which the ratings of another user will be accepted. Ifthe policy of User A allows receipt of User B's ratings, the savedratings for User B are forwarded in all categories in which User B hasratings and User A has either ratings or an indicated desire forinformation. The received ratings are weighted according to thesimilarity of overall ratings between User A and User B, so that ahigher weight is given to those with similar tastes. The users canthereby collect desired information as they go through their day.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asa preferred mode of use, further objectives and advantages thereof, willbest be understood by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 discloses a personal digital assistant (PDA) in accordance withan embodiment of the present invention.

FIG. 2 discloses a block diagram of a PDA in accordance with a preferredembodiment of the present invention.

FIG. 3 discloses a flowchart of the use of the ratings program.

FIG. 4 depicts an exemplary record for an item in an embodiment of theinnovative rating program.

FIG. 5A discloses a semantic tree that can be used to store individualratings, while FIG. 5B discloses a data record that can be used with thesemantic tree according to an embodiment of the innovative ratingprogram.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

With reference now to FIG. 1, a diagram of a personal digital assistant(PDA) is depicted in accordance with a preferred embodiment of thepresent invention. PDA 100 includes a display 102 for presenting textualand graphical information. Display 102 may be a known display device,such as a liquid crystal display (LCD) device. The display may be usedto present a map or directions, calendar information, a telephonedirectory, or an electronic mail message. In these examples, screen 102may receive user input using an input device such as, for example,stylus 110.

PDA 100 may also include keypad 104, speaker 106, and antenna 108.Keypad 104 may be used to receive user input in addition to using screen102. Speaker 106 provides a mechanism for audio output, such aspresentation of an audio file. Antenna 108 provides a mechanism used inestablishing a wireless communications link between PDA 100 and anotherwireless device that is within range of PDA 100. PDA 100 also preferablyincludes a graphical user interface that may be implemented by means ofsystems software residing in computer readable media in operation withinPDA 100.

Turning now to FIG. 2, a block diagram of a PDA is shown in accordancewith a preferred embodiment of the present invention. PDA 200 is anexample of a PDA, such as PDA 100 in FIG. 1, in which code orinstructions implementing the processes of the present invention may belocated. PDA 200 includes a bus 202 to which processor 204 and mainmemory 206 are connected. Display adapter 208, keypad adapter 210,storage 212, audio adapter 214, and transceiver 218 also are connectedto bus 202. Cradle link 216 provides a mechanism to connect PDA 200 to acradle used in synchronizing data in PDA 200 with another dataprocessing system. Further, display adapter 208 also includes amechanism to receive user input from a stylus when a touch screendisplay is employed.

An operating system runs on processor 204 and is used to coordinate andprovide control of various components within PDA 200 in FIG. 2. Theoperating system may be, for example, a commercially available operatingsystem such as Windows CE, which is available from MicrosoftCorporation. Instructions for the operating system and applications orprograms are located on storage devices, such as storage 212, and may beloaded into main memory 206 for execution by processor 204.

Those of ordinary skill in the art will appreciate that the hardware inFIG. 2 may vary depending on the implementation. Other internal hardwareor peripheral devices, such as flash ROM (or equivalent nonvolatilememory) or optical disk drives and the like, may be used in addition toor in place of the hardware depicted in FIG. 2.

General Flow of Data Collection

Before looking at several specific embodiments of the inventive method,it is helpful to look at the general flow, which can be best explainedwith reference to FIG. 3. The information collected is organized incategories. These categories can be predefined, such as art, movies,restaurants, etc., with subcategories beneath them, such as Chinese,steakhouses, Italian, etc. under restaurants. Within each category orsubcategory, any number of items can be entered. It will be understoodthat an entry can stand for a physical item (e.g., a book), anattraction or place (e.g., a museum), a service (e.g., restaurant orhairdresser), or a person. While the discussion will refer to an “item”,it should be understood that the item might not be a physical thing.

The flow in FIG. 3 begins with a new user, whom we shall refer to asUser A. User A has just acquired a new PDA, such as is shown in FIG. 1,and has installed the innovative rating program into the PDA. User Athen enters ratings for as many items in as many categories as hedesires. Additionally, User A can enter an item in which he isinterested in receiving information about (step 305). For example, UserA eats out frequently. He enters ratings for a number of restaurantsthat he frequents, perhaps a few that he dislikes, and also enters thename of a new restaurant, hoping to receive information on this newrestaurant so that he can decide whether to visit it. User A can comeback to this step whenever he desires, although this ability is notspecifically shown.

In at least some embodiments, User A can also enter a policy forcollecting information (step 310), although other embodiments can have abuilt-in policy. For example, a policy could be set to not accept inputfrom a user or device that has provided input within the last sixmonths. This precludes the possibility that one person that User Aencounters often can heavily bias the data.

Alternatively, the user might designate that information for a givencategory, for example, restaurants, is only collected during certainhours, e.g., at times that the user is generally dining out. This wouldtend to collect additional information from persons who tended to enjoythe same food that the user does. The policy might also give a degree ofsimilarity that must be met between User A and another user before inputwill be accepted from that user. Such a degree of similarity could becomputed from a hash of each user's responses.

The program then begins periodically broadcasting a request forinformation and listening for the broadcast from other users (step 315).At some point, User A will encounter another user of the ratingsprogram, whom we shall designate User B. After a handshake protocol, thetwo users' programs exchange at least some information (step 320). Inone embodiment, a copy of each other's entire rating set can beexchanged for processing. In other embodiments, the two users canexchange only basic identification and perhaps the hash value of theirinterests. In this embodiment, the remaining information is transferredafter the policies are checked (not specifically shown). The programchecks whether or not to accept the new user's ratings (step 325).

If the policy is not met (answer=no), the current information from UserB will be ignored and the program returns to running in background mode(go to step 315). If the policy accepts the new information(answer=yes), the program proceeds by calculating the similarity Sbetween the profiles for User A and User B (step 330). The program thenexamines User B's information for rated items in categories that matchcategories rated or requested by User A (step 335). If there are none(answer=no), the new information is again rejected and the programreturns to background mode (go to step 315). If, however, there arecategories in common (answer=yes), the ratings from User B areincorporated into User A's ratings (step 340). The exact manner in whichthe ratings are incorporated can be dependent on the specificembodiment. When this is completed, the program returns to backgroundmode (go to step 315).

First Exemplary Embodiment

Turning now to FIG. 4, record 400 is shown. This record 400 storesratings and comments for a single entry in the ratings program accordingto an exemplary embodiment of the invention. Record 400 has six fieldsfor storing necessary data and five fields for comments. In thisembodiment, the number of comments saved for any item is a small, fixednumber in order to keep the memory needs low. In alternativeembodiments, the user sets the number of comments per item at startup.In this manner, a user can decide that they prefer to receive ratingsfor a large number of different items, with only a few comments on eachor, conversely, that they choose to limit the items they are interestedin rating, but prefer more comments to go along with the ratings.

Besides name 402 of the item being rated, record 400 contains a weightedrating 404 that combines all accumulated ratings, a number of users 406counted in the weighted rating, pointer 408 to the previous record in acategory, pointer 410 to the next record in a category, pointer 412 tothe next comment field to be used, and a given number of comment fields414. By using pointers 408 and 410, ratings for various items within acategory, e.g. movies, do not need to be entered consecutively, yetspace is not allocated until needed. Likewise, pointer 412 will point tothe next comment field 416 to be written. This pointer is updated aftereach comment is written, so that it always points to the next availablecomment. When all of the comment fields are full, pointer 414 can be setback to point to the first comment field 416, so that the oldestcomments are overwritten by the next comment received on this item.

In this embodiment, the policy of whether or not to receive a new inputis made by performing a hash of the ratings of User B. If the hash isidentical to the hash of User A, the policy does not accept this newinput. If, however, the policy is met and the two users share commoncategories, the input from User B is added to the input accumulated byUser A. Specifically, for common items, User A's record for that item islocated. The number of ratings received (field 306) is incremented byone for this item, then a new weighted rating is computed using theexisting weighted rating for User A (field 304), the computed value ofS, and User B's weighted rating for this item. The program will thencheck to see if User B has comments on this item. If User B provided acomment, the comment is entered into the comment field (field 314)pointed to by the pointer (field 312) to the next comment, then thepointer (field 312) is incremented to point to the next comment to bewritten.

This process is repeated for each item shared in common. In categorieswhere both users have common interest, User B may have items that do notmatch items in User A's information. Preferably, these items are thenentered into User A's information stockpile, increasing the knowledgebase. One additional point should be clarified in this regard. Becausethis is a distributed system, two users may rate the same item, but giveit different names. For example, User A may have an item called“Campisi's Cafe”, while User B has entered the same item as “Campisi's”.The program is unable to recognize that these are the same item and willthus create different entries for them. In a preferred embodiment, whenthe user recognizes that they have several entries for the same item,the user will be able to link the two names and have their informationmerged.

Note that the user in this embodiment receives the accumulated ratingsand comments of persons that they encounter in daily life. Thisincreases the social relevance of the ratings, since there is acorrespondence to the user's lifestyle.

Alternate Exemplary Embodiment

A first alternate embodiment of the invention is similar to the first,with a few notable changes. In this alternate embodiment, an additionalfield is added to the record to hold the user's own rating, which ispreserved as a separate entity. Additionally, if the user makes acomment on an item, a byte in the comment field is changed to mark thisas a comment that should not be overwritten. Then, when User A and UserB exchange information, User A receives only the ratings and commentsmade by User B, not User B's accumulated ratings and comments. Thisalternate version increases the social relevance of the ratings, sincethere is no way to determine the separate relevance to User A of each ofthe people from whom User B has received ratings, but it does decreasethe number of persons included in the ratings.

Further Exemplary Embodiment

Turning now to FIG. 5A, a further alternate embodiment of the ratingsprogram is shown. In this embodiment, rather than maintaining a single,composite rating for each item, all the accumulated individual ratingsfor each item are stored in a semantic tree network 500. Semantic treenetworks are known in the art as a means to organize information. Eachitem that is rated forms the root 502 of its own semantic tree network.Each link in the tree (e.g., A, B, C, etc.) will have a weight orsimilarity factor. As User A receives ratings from other individuals,they are stored in the tree according to their similarity to User A.FIG. 5B shows an exemplary record 520 stored at one of the links. Record520 contains the identification 522 of the individual providing therating. Identification 522 can be an actual name, a pseudonym, or anyother identifier, such as a serial number of the device from which theratings were received. Record 520 also contains a rating 524 for theitem and optionally, a comment 528. A one-byte field 526 indicateswhether a comment is present, so that space is not wasted. A recursiveprocess calculates a cumulative rating for each item, taking intoaccount the weightings of the individual ratings. This embodimentprovides a better weighting than the first embodiment and can accumulateratings faster than the second embodiment above, but uses a great dealmore space and processing time to maintain.

Several embodiments of the inventive method have been disclosed. Unlikepresent rating programs, all of the embodiments provide for thenon-centralized collection of information that has an increasedrelevance to the user. Unlike other ratings programs, these embodimentsalso allow a user to request information about a subject on which theuser has made no rating. The embodiments of the invention are localizedto interact only in close proximity, using broadcast networking. Theytherefore provide for a degree of social relevance because they onlyreceive data from those whom the user encounters.

It is important to note that while the present invention has beendescribed in the context of a fully functioning mobile data processingsystem, those of ordinary skill in the art will appreciate that theprocesses of the present invention are capable of being distributed inthe form of a computer readable medium of instructions and a variety offorms and that the present invention applies equally regardless of theparticular type of signal bearing media actually used to carry out thedistribution. Examples of computer readable media includerecordable-type media, such as a floppy disk, a hard disk drive, a RAM,CD-ROMs, DVD-ROMs, and transmission-type media, such as digital andanalog communications links, wired or wireless communications linksusing transmission forms, such as, for example, radio frequency andlight wave transmissions. The computer readable media may take the formof coded formats that are decoded for actual use in a particular dataprocessing system.

The description of the present invention has been presented for purposesof illustration and description, and is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the art. Theembodiment was chosen and described in order to best explain theprinciples of the invention, the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

1. A device for collecting ratings on a plurality of subjects, saiddevice comprising: a processor; a memory connected to said processor; aninput device connected to said processor; an output device connected tosaid processor; and a short-range transceiver connected to saidprocessor, wherein said processor, said memory, said input device, saidoutput device, and said transceiver are contained within a caseconfigured for portability; said processor being configured for:receiving, from said input device, a first set of ratings for ones of aplurality of subjects, storing a policy specifying whether ratinginformation is to be accepted through said short-range transceiver,responsive to said policy being met, receiving, through said short-rangetransceiver, a second set of ratings for ones of said plurality ofsubjects, updating ones of said first set of ratings by merging withcorresponding ones of said second set of ratings, wherein merging withcorresponding ones of said second set of ratings comprises: receiving,for each respective subject of said ones of said plurality of subjects,a plurality of individual responses; and storing said plurality ofindividual responses for each respective subject in a semantic treenetwork for the respective subject; and displaying said updated ones ofsaid first set of ratings.
 2. The device of claim 1, wherein saidshort-range transceiver uses one of Bluetooth technology and WiFitechnology. 3-7. (canceled)
 8. The device of claim 1, wherein saidprocessor is further configured to add comments from said second set ofratings into said first set of ratings.
 9. The device of claim 1,wherein said device comprises a device selected from the groupconsisting of a personal digital assistant, a laptop computer, and acellular phone.
 10. A method of collecting ratings on a plurality ofsubjects, said method comprising the steps of: storing, on a portablecomputing device, a first set of ratings for ones of a plurality ofsubjects and a first set of indications of interest regarding additionalones of said plurality of subjects; storing on the portable computingdevice, a policy specifying whether rating information is to be acceptedthrough a short-range transceiver device; encountering, through theshort-range transceiver device, a user having a second set of ratingsfor ones of said plurality of subjects; responsive to said policy beingmet, receiving, through said short-range transceiver device, ones ofsaid second set of ratings; updating ones of said first set of ratingsand ones of said first set of indications of interest by merging withcorresponding ones of said second set of ratings wherein said mergingcomprises: receiving, for each respective subject of said ones of saidplurality of subjects, a plurality of individual responses, and storingsaid plurality of individual responses for each respective subject in asemantic tree network for the respective subject; and displaying saidupdated ones of said first set of ratings.
 11. (canceled)
 12. The methodof claim 10, wherein said merging is performed dependent on said secondset of ratings having a similarity of at least a given level to saidfirst set of ratings.
 13. The method of claim 10, further comprisingbroadcasting a request for ratings.
 14. The method of claim 10, furthercomprising responding to a broadcast of a request for ratings. 15-17.(canceled)
 18. The method of claim 10, wherein said short-rangetransceiver device utilizes one of Bluetooth technology and WiFitechnology.
 19. A computer program product stored on a computer readablestorage medium, said computer program product comprising: firstinstructions for storing, on a portable computing device, a first set ofratings for ones of a plurality of subjects and a first set ofindications of interest regarding additional ones of said plurality ofsubjects; second instructions for recognizing, through a short-rangetransceiver device, a user having a second set of ratings for ones ofsaid plurality of subjects; third instructions for storing on theportable computing device a policy specifying whether rating informationis to be accepted through said short-range transceiver device; fourthinstructions, responsive to said policy being met, for receiving,through said short-range transceiver device, ones of said second set ofratings; fifth instructions for updating ones of said first set ofratings and ones of said first set of indications of interest by mergingwith corresponding ones of said second set of ratings, wherein saidfifth instructions comprises: instructions for receiving, for eachrespective subject of said ones of said plurality of subjects, aplurality of individual responses; and instructions for storing saidplurality of individual responses for each respective subject in asemantic tree network for the respective subject; and sixth instructionsfor displaying said updated ones of said first set of ratings. 20.(canceled)
 21. The computer program product of claim 19, wherein saidfifth instructions are performed dependent on said second set of ratingshaving a similarity of at least a given level to said first set ofratings.
 22. The computer program product of claim 19, furthercomprising seventh instructions for broadcasting a request for ratings.23. The computer program product of claim 19, further comprising seventhinstructions for responding to a broadcast of a request for ratings.24-26. (canceled)
 27. The device of claim 1, wherein the respectivesubject comprises a root of the semantic tree network, and whereinstoring said plurality of individual responses for each respectivesubject in a semantic tree network comprises summing the receivedindividual responses in the semantic tree network.
 28. The method ofclaim 10, wherein the respective subject comprises a root of thesemantic tree network, and wherein storing said plurality of individualresponses for each respective subject in a semantic tree networkcomprises summing the received individual responses in the semantic treenetwork.
 29. The computer program product of claim 19, wherein therespective subject comprises a root of the semantic tree network, andwherein the fifth instructions comprises instructions for summing thereceived individual responses in the semantic tree network.